// 设置marker、label的默认值
const marker = document.location.origin + '/static/Lift/Lift_marker_img.png'
const _marker = document.location.origin + '/static/Lift/Lift_marker_img.png'

//设置当前场景镜头视界
export function SetCameraInfo(center_coord, arm_distance = 1000, pitch = 30) {
    return {
        "coord_type": 0, //坐标类型(0:经纬度坐标, 1:cad坐标)
        "cad_mapkey": "", //CAD基准点Key值, 项目中约定
        "center_coord": center_coord, //中心点的坐标 lng,lat
        "arm_distance": arm_distance, //镜头距中心点距离(单位:米)
        "pitch": pitch, //镜头俯仰角(5~89)
        "yaw": 0, //镜头偏航角(0正北, 0~359)
        "fly": false //true: 飞行动画(飞行时间根据当前点与目标点计算,则pitch及yaw不生效, 会自行计算);
        //false: 立刻跳转过去(有一个短暂飞行动画,并按照arm_distance, pitch, yaw设置镜头)
    }
}
//poi点
export function AddPOI(customPOI_id, coord) {
    return {
        "id": customPOI_id,
        "label": "poi title", //POI title文本
        "coord_type": 0, //坐标类型(0:经纬度坐标, 1:cad坐标)
        "cad_mapkey": "", //CAD基准点Key值, 项目中约定
        "type": "building", //聚合服务筛选类型(部署点聚合数据时自定义, 如 building, alarm ...); 非点聚合时可选
        "alert_poi": true, //聚合服务筛选类型(部署点聚合数据时自定义, true/false 作用于POI点聚合外观 alarm_image_url); 非点聚合时可选
        "coord": coord, //POI点的坐标 lng,lat
        "coord_z": 150, //高度(单位:米)
        "coord_z_type": 0, //坐标高度类型(0:相对3D世界表面；1:相对3D世界地面；2:相对3D世界海拔; 注:cad坐标无效)
        "always_show_label": true, //是否永远显示title, true:显示title(默认), false:不显示title
        "show_label_range": "0,2000", //POI点显示label的范围(单位:米, 范围最小、最大距离; 在此范围内显示, 超出范围隐藏; 注意:always_show_label属性优先于此属性)
        "umg_type": "default", //此POI所使用的UI模板类型(default: 带线的默认POI UI样式, default_noline:不带线的POI UI样式, 项目中约定)
        "sort_order": true //是否自动遮挡排序
    }
}

//自定义poi点(lift,greenmark模块)
export function AddCustomPOI(customPOI_id, coord, windowUrl, baseUrl = marker, windowSize = "520,550", markerSize = "30,30", windowOffset = "1,80") {
    return {
        "id": customPOI_id,
        "coord_type": 0, //坐标类型(0:经纬度坐标, 1:cad坐标)
        "cad_mapkey": "", //CAD基准点的Key值, 项目中约定
        "coord": coord, //POI点的坐标 lng,lat
        "coord_z": 0, //高度(单位:米)
        "coord_z_type": 0, //坐标高度类型(0:相对3D世界表面；1:相对3D世界地面；2:相对3D世界海拔; 注:cad坐标无效)
        "always_show_label": true, //是否永远显示label, true:显示label(默认), false:不显示label
        "show_label_range": "0,2000", //POI点显示label的范围(单位:米, 范围最小、最大距离; 在此范围内显示, 超出范围隐藏; 注意:always_show_label属性优先于此属性)
        "sort_order": false, //是否开启遮挡排序(根据POI点真实3D位置开启遮挡排序,
        //注: 只与其他开启排序的POI之间进行排序, 开启此排序会消耗性能(最多60个POI点同时开启排序)
        "state": "state_1", //与marker之中images中的define_state对应
        "marker": {
            "size": markerSize, //marker大小(宽,高 单位:像素)
            "images": [{
                "define_state": "state_1", //marker图片组
                "normal_url": baseUrl, //normal 图片url地址
                "activate_url": baseUrl //hover, active 图片url地址
                //本地图片地址一: "file:///D:/xxx/markerNormal.png",    D: 云渲染所在盘符
                //本地图片地址二: "path:/UserData/markerNormal.png",    图片资源由云渲染后台管理, 云渲染4.3.1以上版本
            }]
        },
        "label": {
            "bg_image_url": '',
            //本地图片地址一: "file:///D:/xxx/LabelBg.png",    D: 云渲染所在盘符
            //本地图片地址二: "path:/UserData/LabelBg.png",    图片资源由云渲染后台管理, 云渲染4.3.1以上版本
            "bg_size": "176,33", //label大小(宽, 高 单位:像素)
            "bg_offset": "1,80", //整个label左上角相对于marker的中心点(coord坐标中心点)的偏移(x,y 单位:像素), 注: x为正向右, y为正向上
            "content": [{
                "text": ['', '', ''], //[文本内容, HEXA颜色, 文本大小]
                "text_offset": "10,5" //文本框左上角相对于label中bg_offset左上角的margin偏移(x,y 单位:像素), 注: x为正向右, y为正向下
            }]
        },
        "window": {
            "url": windowUrl,
            //本地地址一: "file:///D:/xxx/echarts.html",    D: 云渲染所在盘符
            "size": windowSize, //window大小(宽,高 单位:像素)
            "offset": windowOffset //window左上角相对于marker的中心点(coord坐标中心点)的偏移(x,y 单位:像素), 注: x为正向右, y为正向上
        }
    }
}
// 自定义poi(其他模块)
export function AddCustom_POI(customPOI_id, coord, windowUrl, baseUrl = _marker, windowSize = "520,550", markerSize = "7,90", windowOffset = "4,80") {
    return {
        "id": customPOI_id,
        "coord_type": 0, //坐标类型(0:经纬度坐标, 1:cad坐标)
        "cad_mapkey": "", //CAD基准点的Key值, 项目中约定
        "coord": coord, //POI点的坐标 lng,lat
        "coord_z": 0, //高度(单位:米)
        "coord_z_type": 0, //坐标高度类型(0:相对3D世界表面；1:相对3D世界地面；2:相对3D世界海拔; 注:cad坐标无效)
        "always_show_label": true, //是否永远显示label, true:显示label(默认), false:不显示label
        "show_label_range": "0,2000", //POI点显示label的范围(单位:米, 范围最小、最大距离; 在此范围内显示, 超出范围隐藏; 注意:always_show_label属性优先于此属性)
        "sort_order": false, //是否开启遮挡排序(根据POI点真实3D位置开启遮挡排序,
        //注: 只与其他开启排序的POI之间进行排序, 开启此排序会消耗性能(最多60个POI点同时开启排序)
        "state": "state_1", //与marker之中images中的define_state对应
        "marker": {
            "size": markerSize, //marker大小(宽,高 单位:像素)
            "images": [{
                "define_state": "state_1", //marker图片组
                "normal_url": baseUrl, //normal 图片url地址
                "activate_url": '' //hover, active 图片url地址
                //本地图片地址一: "file:///D:/xxx/markerNormal.png",    D: 云渲染所在盘符
                //本地图片地址二: "path:/UserData/markerNormal.png",    图片资源由云渲染后台管理, 云渲染4.3.1以上版本
            }]
        },
        "label": {
            "bg_image_url": 'http://superapi.51hitech.com/doc-static/images/static/LabelBg.png',
            //本地图片地址一: "file:///D:/xxx/LabelBg.png",    D: 云渲染所在盘符
            //本地图片地址二: "path:/UserData/LabelBg.png",    图片资源由云渲染后台管理, 云渲染4.3.1以上版本
            "bg_size": "280,33", //label大小(宽, 高 单位:像素)
            "bg_offset": "4,80", //整个label左上角相对于marker的中心点(coord坐标中心点)的偏移(x,y 单位:像素), 注: x为正向右, y为正向上
            "content": [{
                "text": ['Surbana Jurong Campus', 'ffffffff', '16'], //[文本内容, HEXA颜色, 文本大小]
                "text_offset": "15,4" //文本框左上角相对于label中bg_offset左上角的margin偏移(x,y 单位:像素), 注: x为正向右, y为正向下
            }]
        },
        "window": {
            "url": windowUrl,
            //本地地址一: "file:///D:/xxx/echarts.html",    D: 云渲染所在盘符
            "size": windowSize, //window大小(宽,高 单位:像素)
            "offset": windowOffset //window左上角相对于marker的中心点(coord坐标中心点)的偏移(x,y 单位:像素), 注: x为正向右, y为正向上
        }
    }
}
// 镜头FOCUS至全部指定类型的覆盖物
export function FocusAllCovering() {
    let jsondata = {
        "covering_type": "poi" //覆盖物类型, 详见下表
    }
    window.cloudRender.SuperAPI("FocusAllCovering", jsondata)
}